Parallel Language Support for Multigrid Algorithms
نویسندگان
چکیده
Multigrid algorithms are a computational paradigm that enjoy widespread use in the scientific community. While parallel multigrid applications have been in use for quite some time, parallel language support for features common to multigrid algorithms has been lacking. This forces scientists either to express their computations in high-level terms without knowing the parallel impact, or to explicitly manage all the details by hand, thereby diverting their attention from the algorithm itself. In this paper, we enumerate properties that would be desirable for any parallel language that hopes to support multigrid application development. We then explain how these properties influenced the design of support for hierarchical arrays in ZPL, our array-based parallel programming language. We describe the implementation of these features in the ZPL compiler and its runtime system. In addition, we show that our approach performs competitively with hand-coded Fortran + MPI for the NAS MG benchmark, outperforming it on 256 processors. In addition, a static comparison of the two codes demonstrates ZPL to be the more concise, readable, and flexible implementation.
منابع مشابه
MAPS: An Efficient Parallel Language for Scientific Computing
We propose to construct MAPS, a collection-oriented SPMD programming environment for writing parallel programs that will simplify the development and porting of many scientific algorithms, both structured and unstructured. This very general class of applications includes finite-difference, finite-element and finite-volume methods, multiblock and multigrid algorithms, PIC codes for simulating pl...
متن کاملUsing Skeletons to Implement a Parallel Multigrid Method with Overlapping Adaptive Grids
Algorithmic skeletons are polymorphic higher-order functions that represent common parallelization patterns. They can be used as the building blocks of parallel applications by integrating them into a sequential language. In this paper we present a skeleton-based approach to manage overlapping of distributed grids, which occur in parallel adaptive multigrid algorithms. Overlapping is necessary ...
متن کاملApplications of HPJava
We describe two applications of our HPJava language for parallel computing. The first is a multigrid solver for a Poisson equation, and the second is a CFD application that solves the Euler equations for inviscid flow. We illustrate how the features of the HPJava language allow these algorithms to be expressed in a straightforward and convenient way. Performance results on an IBM SP3 are presen...
متن کاملA Cross-Language Comparison of Support for Parallel Multigrid Applications
In this study we perform the first cross-language comparison of support for parallel multigrid applications. The candidate languages include High Performance Fortran, Co-Array Fortran, Single Assignment C, and ZPL. The NAS MG benchmark is used as the basis for comparison. Each language is evaluated not only in terms of its parallel performance, but also for its ability to express the computatio...
متن کاملMapping Robust Parallel Multigrid Algorithms
SUMMARY The convergence rate of standard multigrid algorithms degenerates on problems with stretched grids or anisotropic operators. The usual cure for this is the use of line or plane relaxation. However, multigrid algorithms based on line and plane relaxation have limited and awkward parallelism and are quite diicult to map eeectively to highly parallel architectures. Newer multigrid algorith...
متن کامل